home *** CD-ROM | disk | FTP | other *** search
-
- Smart Fractal V1.2
- by
- Avogadro Simone
-
- V 1.2 release in 20/9/94
-
-
-
- USER'S MANUAL
-
-
- IMPORTANT: THIS PRODUCT IS SHAREWARE, IF YOU USE AND LIKE IT PLEASE SEND
- $10 TO THE AUTHOR. IF YOU DO NOT KNOW WHAT SHAREWARE IS, PLEASE READ THE
- SHAREWARE.DOC FILE FIRST, YOU FIND IT IN THE SAME ARCHIVE OF THIS FILE.
- ALSO NOTE 'REQTOOLS' IS WORK OF NICO FRANCOIS, REGISTERING FOR
- 'SMARTFRACTAL' YOU DON'T REGISTER FOR 'REQTOOLS'.
-
-
- INDEX
-
- Chapter 1: The philosophy of the program
-
- 1.1 What's a fractal ?
- 1.2 Introduction to Smartfractal
- 1.3 What's different (and some background story)
- 1.4 Some known spots
-
-
- Chapter 2: The program's menu
-
- 2.1 Project
- 2.1.1 Informations
- 2.1.2 Loading/saving files
- 2.1.3 Exiting the program
-
- 2.2 Controls
- 2.2.1 Graphic controls
- 2.2.2 Methods tuning
- 2.2.3 Zoom control
- 2.2.4 Extra controls
-
- 2.3 Math
- 2.3.1 Editing parameters
- 2.3.2 Selecting the fractal type
- 2.3.3 Determining the type of math
- 2.3.4 Regenerating the image
-
- 2.4 Colors
- 2.4.1 File operations
- 2.4.2 Palette editor
- 2.4.3 Choosing the rendering methods !!
- 2.4.4 Cycling
-
- Chapter 3: Other features
-
- 3.1 Commands of the toolbar
- 3.2 Keyboard commands
- 3.3 Preferences and setup
-
- Chapter 4: Miscellaneous informations
-
- 4.1 How to contact the author
- 4.2 Improvements
- 4.3 Known bugs
- 4.4 History
- 4.5 People I wish to thank
- 4.6 Bibliography
-
-
-
-
-
-
- Chapter 1: The philosophy of the program
-
- This chapter contains all the informations needed to use Smartfractal. It
- briefly illustrates the main features of the program and gives the user
- tips on how to obtain some beautiful images. Also gives some basic
- informations on what the fractals are.
-
- 1.1 What's a fractal ?
-
- A fractal is ... Ehrm... It's a fractal! Just kidding, if you don't know
- what a fractal is you will still be able to use Smartfractal but maybe you
- will not understand the meaning of some of the options. I won't explain in
- depth what a fractal is as this would require too much space and this is
- not the purpose of this documentation. However there are some simple
- things about fractals anyone can understand even without reading whole
- (sometimes boring) books of math. First of all the name: Fractals, what
- does this name mean? Basically this refers to the fact that measuring the
- number of dimensions of one of these 'things' with some modern math techs
- (measuring the Hausdorff's dimension) would give a 'weird' number (maybe
- an irrational number or a fraction, so 'fractal'). This means that the
- thing you see on a 2-dimensional sheet of paper has a different dimension
- (Eg.: log(4/3)). Fun, and so? Well, that's difficult to interpret but this
- usually derives from the fact that these objects are defined by means of
- infinite recursion and so you can cut 1/4 of the object and it will occupy
- 1/3 (!!!) of the space of the original (that's the case of the Kock's
- curve that you can find on the books used in secondary schools). We talked
- about recursion, together with infinity it is one of the 'secrets' of
- fractals, the beauty of these object derives from the fact that you can
- theorically zoom-in forever and always discover new zones, all of them
- will look like the ones you saw before but will always be somewhat
- different. The graphical representation of fractals is done iterating a
- mathematical formula and studying its behaviour for each single point. As
- we cannot afford to examine an infinite number of values for each point on
- the screen we usually stop after a finite number of iterations, the higher
- the number of steps before stopping, the more precise the drawing will be.
- The fractals you can explore with Smartfractal are all point-based, this
- means that the color of a single point depends only on the behaviour of
- that single point. For each point we study the convergence/divergence of a
- series defined by the type of fractal and by the point itself, we say that
- the point is in the set if the series converges, otherwise we say that
- it's out of the set. The deeper we go into the set and the harder will be
- to determine if a point generates a series that diverges or converges and
- so the higher will be the number of iterations needed to obtain an
- acceptable image of that zone.
-
- 1.2 Introduction to Smartfractal
-
- The very first time you will run Smartfractal (Smart from now on) you
- will probably want to setup the preferences as the default behaviour of
- Smart is to use parameters acceptable on the most basic machine (like my
- A500 :-), just browse the control menu to set the desidered number of
- colors, the correct image size and the most suitable number of iterations,
- if you don't know what this means then you'd better read the whole 1st
- chapter before beginning for better results. Now go to the colors menu and
- set the internal and the external coloring methods (these are peculiar to
- Smart!), now choose the fractal type you prefer and save the preferences
- in the 'S:' directory, call them 'SmartFractal.prefs'. Done? O.K. You just
- finished the basic setup! From now on Smart will start with your
- preferences. Maybe you now want to zoom in, if so just click in the center
- of the zone you want to zoom, adjust the box size with the gadgets on the
- right side and click on the zoom gadget (or select the zoom option in the
- control menu), Smart will start to calculate that area. After a certain
- number of zooms you will probably decide to zoom out, just select the
- unzoom menu! If you cannot find anything beautiful you may decide to
- render pre-determined zones, if so just read paragraph 4!
-
- 1.3 What's different (and some background story)
-
- What you have been doing up to now was possible even in the most basic
- fractal generator, so what does Smart do that others don't? I chose to
- write Smart after re-reading a book talking about fractals, the pictures
- on that book looked somewhat nicer than the ones I could generate with the
- available programs. The main difference was that these pictures were also
- colored internally, this gave them a totally different look. I was
- disappointed not to have a program to do that, unfortunately the tech used
- to color that pictures was really time consuming and would have slowed
- down the generation of images to an unacceptable rate even on 68040
- machines, so I gave off for some time. Sometime later I happened to look
- again at that book and noticed that some figures used a tech to draw the
- external part that was quite simple to implement but still I could not
- find any program able to do that, what a shame, I thought, but then I had
- an idea: Why not to create my own rendering tech for the internal zones
- and use the one seen in the book for the external ones ? I began to
- program and in less than a week I discovered that my techs worked quite
- good, I just had to write everything except from the rendering routines,
- but I were so happy that the things went on by themselves. Some months
- after (I had some exams to do so I left the project for some time) I
- stumbled into a disk with the word "Smartfractal" written on it, I picked
- it up, created the user interface, added many features and after a hard
- work I came up with the very first beta version. Some month have passed
- from that day and with the new versions I have added anything I could find
- useful to the program. The program you are using now is the result of a
- hard work and so I would appreciate any form of encouragement as I am
- human too :-). Just write a postcard if you really do not think to be
- worth supporting me ;-( that postcard will let me know that there's people
- out there that appreciates my work !
-
-
- 1.4 Some known spots
-
- If you ever happened to read a book about fractals surely you'll have
- desired to render the same pictures, apart from the problem mentioned in
- the previous paragraph, sometimes the informations on how to get that
- pictures are omitted! So I decided to include a directory containing the
- preference files needed to render some very known images and some less
- known ones that I think to be worth a look! If you want to render such
- zones just select 'Prefs->Load spot' and than look into the 'Spots'
- directory in the same directory of Smart. You'll notice that the spots are
- divided according to the type of fractal. If you want to render an image
- never seen on books just enter the 'Volterra' dir and load the 'Seahorse'
- spot! Other unknown spots are found in the dirs of the inverted sets (by
- now Julia, Mandelbrot and Julia parameter plane), you can also find some
- beautyful spots in the 'Weird' directory, these are funny images obtained
- by setting 'not too meaningful' parameters, most of them can be considered
- interference images, because of this most of the spots in the 'Weird'
- drawer should be loaded as preferences.
-
-
- Chapter 2: The program's menu
-
- This chapter explains the meaning and the use of the various voices found
- in the menus.
-
- 2.1 Project
-
- This menu contains all the controls concerning general operations.
-
- 2.1.1 Informations
-
- There are two voices giving informations in this menu. The first one is
- "info", it gives informations on the type of fractal that is currently
- set, the window being drawn, the number of colors, iterations and the type
- of math that had been used to render the current image (useful in case you
- are using the "auto" mode), it also states if the selected fractal is
- parametric and if it's parametric it shows the value of the parameters.
- The second voice giving informations is "about", this shows the program
- name, version and revision, a shareware message and my contact address.
-
- 2.1.2 Loading/saving files
-
- With the "project" menu you can either save the current situation
- (comprehending all of the preferences) together with the image being
- displayed, or save only the current settings (comprehending the window
- position, fractal type, math, colors etc.). If you want to save everything
- (ie.: Image+settings) choose the "save" option directly in the main menu,
- the situation will be saved as a standard iff image followed by a special
- field added by Smart to be able to recall the infos about that image. Once
- you want to recall that situation just select "load" in the main menu and
- the situation will be restored. If you want to save/load just the
- situation but not the image choose the voice "prefs" and than select
- "load" or "save". Note that you CANNOT recall only the situation (saved
- with the "prefs" voice) using the "load" in the main menu, this is the
- case of the spots present in this package, you must use the "load spot"
- option from the "prefs" voice. Before saving the whole image you can go to
- the options an turn iff compression on/off, note that if you are saving to
- an autocompressing device you'd better leave it off as the standard iff
- compression method is run-length 1, that's quite inefficient. Please note
- that if you load an image saved with Smart in an art package and than save
- it back the package will NOT retain the information about the fractal so
- you won't be able to reload it with Smart, so when you do retouch an image
- do not save it over the original or you'll not be able to reload it with
- Smart!
-
- 2.1.3 Exiting the program
-
- This is the simplest thing, just select "Quit" and you will see a
- requester come up to ask you if you really want to exit, just select yes
- and you will terminate Smart. Please read the known bugs section about
- problems with this voice in case you use a promotor for a graphic
- enancher.
-
- 2.2 Controls
-
- This menu contains all the controls concerning the aspect of the image
- and giving controls about the zoom method and options.
-
- 2.2.1 Graphic controls
-
- There are four voices controlling the appearance of the image on the
- screen. The first one is "Size", this enables you to set the size of the
- image to render, there are 4 predefined sizes and a "custom" option. If
- you chose the "custom" option you'll get a requester, if you are using
- Kickstart V2.0+ you'll get a ScreenMode requester and you'll be able to
- select any available resolution (comprehending any non-standard resolution
- available via third-party Monitor Types) and number of colors, please note
- that you's better NOT select special modes or non-proportional modes
- unless you want to make some weird tests (non-proportional modes are
- 1280x512 and 640x256), so if you wand to create a backdrop for the
- Workbench you should select Laced-Hi Res and than convert the image to
- non-laced hi res with a graphic package (Dpaint will do). If you are using
- KS1.3 or less you'll get a string requester and you'll be able to enter
- the desidered vertical size, the horizontal one will be determined by the
- "aspect" option, if you choose a vertical size lesser then or equal to 256
- the screen size will be 320x256 and your selection will affect only the
- size of the image. If you choose a number greater than 256 you'll also set
- the size of the screen, remember that the screen will always have a 5/4
- aspect (that's the default on PAL machines), if you choose a vertical size
- greater or equal to 400 you'll get a hi-res interlaced screen. The second
- voice influencing the image is "aspect", you can select either "square" or
- "rectangular" to set the aspect to 4:4 or to 5:4 (like the screen). Than
- there is the "colors" option, you can there choose the number of colors on
- the screen, please note that Smart will try to open the screen with the
- desidered number of colors even if your machine has not the capability to
- display them, this will blank the screen if you select 64 colors (that's
- extra half bright) or more and hi-res on a non AGA machine with KS1.3,
- this causes you not to be able to see anything on the screen, the only
- solution is to terminate the drawing pressing Amiga-X and after a while
- pressing return, then press Amiga-Q and finally 'Y' to quit Smart.
- Surprisingly selecting 256 colors on KS1.3 in low-res will result in just
- 32 being displayed but 8 being stored in memory, so you can draw and than
- store 256 color images that you'll be able to display on AGA machines or
- with video enanchers. Please note that some resolutions will slow down
- significantly the drawing on non-AGA machine, that's not a bug, it's due
- to the internal multiprocessing architecture of the amiga that assigns too
- few time to the 680x0 (ie.: that's the case of 16 color hi-res where the
- machine almost stops). Then there is the "title" toggle, with this one you
- can turn on/off the screen title (if you turned it off, selected a full
- screen image and turned on autozoom then use Amiga-N and Amiga-M to move
- the screen to front/back without zooming).
-
- 2.2.2 Methods tuning
-
- In this menu you can set two options to control the methods to render the
- image, both of them will give you control on the accuracy of the
- representation. The first one is "Depth", with this voice you can select
- how many iterations to take before deciding that a point generates a
- series that converges. Keep this number high to have a more accurate
- representation of the image, keep it low to have a fast one, note that the
- deeper you go into the image the higher will have to be this number to get
- a realistic representation. The second voice is "Blocks", it allows you to
- set how big the blocks will be and so how many passes will the image take
- to complete. This gives you control on the degree of approximation in
- drawing the image, the bigger the blocks, the faster will be the rendering
- and the more you are like to lose some details. This option should be used
- with care as it has a big potential, there are zones where setting the
- blocks to 8x8 will not affect the quality of the image but will speed up
- its generation more than 10 times, in other zones even setting the 2x2
- option will give you a quite inaccurate representation of the image and
- will not be significantly faster than the pixel-perfect 1x1 mode. There is
- no way to tell what the best block size is, generally 4x4 should not
- affect significantly the image integrity but will give a great speed
- improvement. If you use the 8x8 option be careful to set a higher number
- of iterations to compensate the possible imprecisions.
-
- 2.2.3 Zoom control
-
- There are four voices concerning zooming in this menu. The first one is
- "zoomrate", it allows you to set how much you will zoom, that is how much
- of the zone around the point you selected will be zoomed. The second one
- is "autozoom", just select "on" or "off". If you turn it on each time you
- want to zoom you'll just have to click in the center of the zone you wish
- to zoom and the zoom will take automatically place even if you did not
- select the voice "zoom". The voice "zoom" is used when the autozoom
- feature is off to zoom in a zone, just select this voice and than click in
- the center of the zone you want to see, if you want to cancel the zoom
- just click outside of the image or press the right mouse button. The last
- option "unzoom" lets you zoom off the current image, just select it and
- the image will be recalculated automatically without further actions.
-
- 2.2.4 Extra controls
-
- There are four more toggles providing generic controls on the setup. This
- toggles are "Autoredraw", "Pack iff", "Be quiet" and "Toolbar", the first
- one let's you disable the auto-update function that redraws the image
- after any change in the settings, when this is off the redraw will happen
- only if the screen had been rebuilt and the image disappeared. The second
- toggle is to turn on/off the iff compression (see above for more infos).
- When the "Be quiet" switch is on you won't be prompted before overwriting
- existing files and you won't be presented a requester once the drawing had
- terminated (this will also turn off the screen-to-front feature). The last
- toggle is "Toolbox" and when activated (by default) will turn on the
- toolbar.
-
- 2.3 Math
-
- This menu contains all the voices that involve direct control of
- mathematical aspects of the drawing.
-
- 2.3.1 Editing parameters
-
- As Smart features parametric fractals (Julia, Volterra-Lotka and Julia
- Parameter plane) it also enables you to specify the value of these
- parameters. Julia, JuliaPP and Volterra do use 2 parameters, in the Julia
- sets the parameter is a complex number and indicates a point of the
- corresponding Mandelbrot set, if while examining the Mandelbrot set you
- wish to pick a point and set the Julia parameters to that point just
- select the "set point" voice and click in the Mandelbrot set on the point
- you wish to use (Tip: just after setting the point switch to the Julia
- set, you'll get a view of the same window as it appears in the Julia set
- and it will look similar to the region you picked the point from, the
- nearer to the point you'll go the lesser the differences will be :-).
- However you may know some values (maybe you have a book) and want to
- introduce them manually, if so just choose the "edit point" option and
- you'll get a requester asking for the real part of the parameter and then
- for the imaginary one. If you changed your mind and no longer want to edit
- the parameters just hit return twice. Maybe you got also the coordinates
- of the window you have to zoom, if so just choose the "edit window" voice
- and enter the value you wish to use (once again press return to keep the
- actual values). Note that the window requester will not allow you to
- specify all the four values as you may have expected, this is because
- Smart does not want you to get weird image aspect (after all who wants a
- Mandelbrot set that looks deformed ??).
-
- 2.3.2 Selecting the fractal type
-
- This is easily done by selecting the "set fractal" voice and then by
- choosing the fractal you prefer. Mandelbrot and Julia are the classical
- ones found in almost any fractal generator, Volterra-Lotka is fractal
- taken from the book I have (see bibliography for more informations),
- Inverted Mandelbrot and Inverted Julia are the Mandelbrot and Julia sets
- projected into an inverted space (again see bibliography).
-
- 2.3.3 Determining the type of math
-
- While exploring fractals one of the most important problems is to choose
- a precision that enables to draw an image that is free of defects, but at
- the same time it's important not to exaggerate not to slow down too much
- the calculation (I won't tell how long does a double precision image take
- to render in 640x512 on an A500 but know that I care too much for my
- computer to risk leaving it on the whole night). So you'll surely
- comprehend that the more precisions are available the better it is. Some
- programs (ehrm... Actually I know only of Mand2000 that's a commercial
- program!) do offer special routines to handle almost any precision but
- you'll usually find that even on fast machines (68040 33Mhz I mean!) any
- precision higher than the extended FPU precision will result quite too
- slow to use in non-background situations. Smart offers you 6 different
- precisions, they are (in order from the fastest to the most precise):
- Turbo integer, integer, big integer, floating point, double precision and
- extended FPU precision. The first five are available to anyone on any
- machine, the sixth one is only available to FPU owners and 68040 owners
- with fpu-patches (see below). Smart offers you to do the selection work
- for you, just choose the "auto" option and you'll never have to worry
- about the type of math used (Tip: when drawing the starting image of an
- inverted Julia force the precision to integer, the zones near to the
- borders will be pixelized but the effect may be fine (I like it!) and it
- will also be faster (unless you have an FPU!), Smart had been designed to
- be as precise as reasonable so I did not set that tip into the program as
- default). Please note that if you are drawing a zone on the border of an
- inverted Julia that is quite big (the set not the region!) Smart may get
- confused and select the wrong precision, you'll notice it as you'll get a
- pixelization effect! In these cases you can use the other options of the
- "precision" voice to force Smart to use a specific precision, note that
- you cannot force the Turbo integer precision as it's useful only on some
- occasions and Smart will activate it automatically while using the 'auto'
- mode, also note that if you don't have an FPU and try to force the FPU
- routines Smart will complain, if you decide to go ahead anyway expect your
- machine to crash as I wrote the FPU routines in assembler using directly
- the coprocessor istructions and not the library calls that are too slow
- (but useful if you need to write a single source that uses either the
- emulation routines either the FPU, in this case I wrote a separate code
- for processor-based calculation and so there's no reason to use
- libraries). Tech note on how Smart decides the precision to use: While
- developing Smart I assumed that anyone owning an FPU also owns a processor
- that will compute faster in integer (and turbo integer!) than the FPU
- (that's true if you have a 68020 or more, if you have a FPU and a 68010 or
- less always force the precision to FPU, by the way: why did you do such a
- strange thing as connecting a 32 bit FPU to a 16 bit bus ?). Note to 68040
- owners: Before using Smart you must run a system patcher to trap the
- line-f exceptions generated by the FPU istructions not supported by 68040
- internal FPU, once done this (you probably yet installed it in the startup
- :-) you can safely run Smart and enjoy your machine's FPU speed!, if you
- don't install the patch you'll still be able to use Smart but you won't be
- able to use FPU mode.
-
- 2.3.4 Regenerating the image
-
- There are two options to regenerate the image, the first one is "redraw"
- and will redraw exactly the selected window with the selected parameters,
- this is useful when after changing the coloring methods you want to
- regenerate the image with the new routines. The second option is "restart"
- and as you'll have guessed selects the default starting window for the
- selected type of set before redrawing.
-
- 2.4 Colors
-
- As beauty is a subjective idea people may wish to change the appearance
- of the fractals on the screen, this menu does this but it also allows you
- to select the coloring methods of internal and of the external part of the
- various sets. Note that this is not just an exterior change as the
- different methods give different informations on the behaviour of the
- single points.
-
- 2.4.1 File operations
-
- The two voices "save" and "load" allow you to save and load the whole
- color palette used by the program (all 256 colors) in iff format so that
- you'll be able to use palettes edited in your favourite drawing package.
- If you use 24 bit palette (AGA machines) please read the known bugs
- section (that's not properly a bug but I placed the note there as I had no
- idea of where to put it).
-
- 2.4.2 Palette editor
-
- Just choose "edit" from the menu and you'll be faced with the standard
- color requester of the ReqTools library, freely edit the palette and than
- choose 'ok' or 'cancel' to confirm the changes or to discard them.
-
- 2.4.3 Choosing the rendering methods !!
-
- As I wrote before, this is the main difference with all the other fractal
- generators I could find on Amiga, Smart can assign a color also to points
- internal to the set !. There are two menus concerning this options, the
- first one is "external" that allows you to specify the type of coloring
- you want in the external regions. Here you have six choices: "Solid",
- "Smooth", "Binary", "2Binary", "Checked1" and "Checked2". The first one
- will assign to all the points not in the set the same color. The second
- one will assign the usual coloring that's based on the speed of divergence
- (this evidences the level curves). The third one is the one I talked about
- in chapter one, this is a simple method that assigns to each point outside
- the set a color depending on where the point was when it exited the limit
- circle of divergence, the color depends on the argument of the complex
- number, this brings in evidence the Hubbard's angles of various point of
- the Mandelbrot and Julia sets. The fourth method is a personal variation
- of the third that's based on a different assignment of the colors
- depending an the argument. The fifth and sixth are obtained by mixing the
- "Smooth" and "Binary" options, they are very impressive if cycled,
- otherwise they look almost like "Smooth". The second voice concerning
- coloring (and the most important in my opinion :-) is "internal" that lets
- you specify five types of coloring, they are: "Solid", "Logarithmic",
- "Smooth type 1", "Smooth type 2" and "Logarithmic type 2". The first one
- works as the corresponding one in the external menu, the second, third and
- fourth one give you an idea of how much difference there is in the module
- of point end of its (probable) attractor, the fifth one gives you an idea
- of how far the point is from its attractor. The second and the fifth adopt
- a logarithmic scale so to allow you to see with the same precision
- attractors of different orders, the third and fourth do adopt a corrected
- proportional method, that's less efficient than the logarithmic scale but
- it's more colorful and in some cases gives you more informations. The most
- significant method in terms of math is the fifth one that does its better
- to evidence the internal level curves (that's how fast a point gets near
- to its attractor), this is the most similar to the one I found on the book
- I wrote about in the previous chapter, I cannot be sure if it's the same
- but I believe it to be, the real problem is the nature of the attractors
- that present a periodical nature, to evidence the biggest number of
- attractors the number of iterations should be equal to ((K!)-1) that's a
- number too high even with K=10 (K=10 -> depth should be = 3628799, too big
- for me!). This is a common problem with all the internal coloring methods,
- if you use it just select at least an odd number (that's due to the fact
- that on some fractals, like Mandelbrot, the main attractor (that's 0+i0,
- the origin of Gauss' plane) is present in all the periodical orbits so
- that if you choose an even number all the point will look to be part of
- the domain of the origin!.
-
- 2.4.4 Cycling
-
- From V1.1 Smart offers the cycling option, you can use the voices of the
- "Cycle" item to turn on/off cycling, select the direction of cycleing
- (forward or backward) and to speed up or slow down the cycling of the
- colors. You can change the direction of cycling while it's on without any
- problem. If you stop the cycling the colors will remain the ones of the
- moment you stopped it, if you want to revert to the original palette
- select the "Reset" option, if you want to let the actual palette be fixed
- just select "Edit" and click on "Ok" without modifying anything.
-
-
- Chapter 3: Other features
-
- 3.1 Commands of the toolbar
-
- From V1.2 on Smart features a toolbar that holds buttons for some of the
- most used commands, it also offers a couple of functions NOT available
- from the menu. The top two gadgets are used to increase/decrease the size
- of the zoombox (and so to control the zoomrate), the two just below allow
- to zoom/unzoom and the first of the next line let's the user hide the
- zoombox (not available from menu). The one immediately on the right let's
- the user turn on/off the coordinate disply option, when this option is
- active if the cursor passes on the image the coordinates of the
- underlaying point will be displayed, this is really useful while using the
- "Set point" option. The four buttons below these ones allow the user to
- turn on/off the color cycling, change its direction, speed up or slow down
- it. There are than two icons to show the information box and the about
- message. The last two buttons will let the user save/load everything.
-
- 3.2 Keyboard commands
-
- Many menu options do have a keyboard shortcut, and can so be used via
- keyboard, however there is a simply trick available only from keyboard, if
- autozoom is off and the zoombox is visible you can use the arrow keys to
- move it around the image.
-
-
- 3.3 Preferences and setup
-
- If you want Smart to start with your configuration as default you may
- save your preferences as "SmartFractal.prefs" either the "S:" directory
- either in the same directory of Smart, note: if you run Smart from SHELL
- you'll have to save the preferences in the 'current' directory, I.E.: if
- you are in directory "HD1:Utils/" and Smart is in directory "HD2:
- Utils/Math/SmartFractal" (and it is the path) you can run Smart by typing
- "SmartFractal", but if your preferences are not in "HD1:Utils/" Smart
- won't use them. So if you frequently use Smart from SHELL you'd better
- place the preferences in the "S:" directory. An other feature that will
- surely be appreciated by someone is that you can use any image obtained
- with Smart as default one, just save it as "SmartFractal.iff" in the same
- directory of Smart (the notes for SHELL users about preferences are still
- valid).
- Another feature that SHELL users will appreciate is that from V1.1 Smart
- will auto-detach from the current process, running in background and
- letting you close the Shell whenever you want without having to quit
- Smart.
-
-
- Chapter 4: Miscellaneous informations
-
- 4.1 How to contact the author
-
- Well, if you have been reading the document you'll probably have also the
- program and my contact address but anyway here it is:
-
- Mail to: Simone Avogadro
- viale Rimembranze, 33
- Appiano Gentile
- 22070 (CO)
- ITALY
-
- E-mail on Internet to: simonea@varano.ing.unico.it
-
- If you cannot access the internet but have access to the Fidonet you can
- use a gateway to Internet, if you don't know how to do that ask your
- sysop, as I don't have direct access to Fidonet I cannot tell you how to
- do it (sorry:-), but note that this method is slow (usually it takes a
- month or more for the mail to arrive to me!).
- There are no known bugs in Smart but I can't tell if there are not bugs
- or if we simply don't now about them :-}, if you find any bug please
- report it to me, possibly with a clear description of how to recreate it
- (please state the machine configuration you have, etc.). Reporting bugs
- helps me to keep the program safe so, expecially if you found a nasty one,
- report it to me as soon as possible.
-
- 4.2 Improvements
-
- Here I give a list of improvements that I'd like to add to Smart if I
- have time (Ie: If I successfully take my exams) and if I feel Smart to be
- appreciated (feedback is important, even an E-mail makes the difference!):
-
-
- o Support for xpklibrary de/compression
- o A "Pickup" menu so that you can stop drawing, save the partial work
- and than pickup your work later (very useful for time-consuming
- drawings!)
- o A speedup buffer, so you can zoom faster
- o Faster rendering routines
- o Better color cycling feature
- o 3D mapping of fractals (spherical and axonometrical)
- o More types of fractals
- o More coloring techs
-
- Changes that will take a bit more to be done:
-
- o Arexx support (I got the documentation for it and I will do it as
- soon as I have enough time)
- o Real-time zoom (like Mand2000)
-
- As you see I have a lot of ideas and so there are a lot of possibilities,
- let me know your preferences and if you have any proposal for special
- features not mentioned here (please don't just say: "I want Smart to draw
- in real time, support custom fractals and display images directly on my
- Virtual reality glasses" :-).
-
- 4.3 Known bugs
-
- No known bug, but I know of a problem with the 'quit' option, it appears
- not to be active (!!) when you use some screen promotors to force Smart to
- work with a weird graphic adaptor, that's not a problem with Smart it may
- be due to ReqTools (I doubt this as it always worked perfectly) or to some
- tricky tech used by the promotor (that's more like to be this), form V1.2
- this should be completely resolved as you shouldn't need promotors. Also
- know that V1.2 does not have yet full support for 24 bit palette (the
- compiler is too old and I could not find a clean way to handle the new
- KS3.0 functions), on AGA machines you can display in 256 colors with a 24
- bit palette but when saving the palette saved in the file will be scaled
- to 12 bit (sorry, will search for someone with a recent compiler as soon
- as possible). From V1.2 the info window also displays infos on the machine
- it detects, CPU+FPU are OK but I don't know a SAFE way for identifying AGA
- and so if the 15th bit of the AttnFlag is set Smart thinks AGA-chipset to
- be there.
-
- 4.4 History
-
- V1.0 in 14/6/94 : First release
- V1.1 in 18/7/94 (Internal) : Never released but really stable.
- - When run from CLI/SHELL it now auto detaches and goes in background
- - Added two voices to Prefs menu to load separately Options and Spots
- - Added the option to compress images with standard Iff method
- - Added color cycling
- - Added "Be Quiet" toggle
- - Added the zoombox
- V1.2 in 20/9/94 : No known bugs.
- - Added support for any system monitor with a standard Screenmode
- requester
- - Added a toolbar to make interaction more immediate and intuitive :->
- - Added new fractals "JuliaPP" and "Inverted JuliaPP"
- - Added 64 bit integer math, about 3-4 times faster than "float" and
- 90% of the times with equivalent precision, made separate versions
- for 68000-010 and 68020+
- - Added the ability to show cursor coordinates on the screen title
- - Fixed a bug in V1.1 that caused some problems with packed iff
- - Now Smart asks for confirmation before overwriting existing files
- this feature can be disabled with the "Be Quiet" switch
- - Fixed a bug that didn't allow to use more than 65535 iterations with
- FPU precision
- - Micro-buffering almost halves the time taken to render quite uniform
- areas.
-
-
- 4.5 People I wish to thank
-
- Oh, well, there's a lot of people I should thank, so in no particular
- order: Mom, dad and my brother for supporting me and being patient, my
- friends for their interest and then in particular:
- Stefano Volponi for correcting the errors in this text (as you'll have
- supposed English is not my native language!)
- Donato Corvi for beta-testing on his fat A1200+68030 33Mhz+68882 48Mhz
- FPU +4Meg 32Bit fast. Also for letting me work at his home in an attempt
- to fix a nasty bug with FPU (finally I caught it!). Most of the awesome
- new spots found in V1.2 are due to his research.
- Cristiano Preda for beta-testing on his monster (A2000+8Meg 32bit fast,
- 68040 30Mhz, 2Meg Merlin graphic adapter), and for procuring me the iff
- documentation.
- Other people I wish to thank:
- Fabrizio Sala (sysop of Fast Enough BBS) for spreading (I hope!) Smart on
- Fidonet
- Nico François for developing the ReqTools library (req.library is cool
- but reqtools is cooler!) (if you want to know more about Reqtools read the
- SHAREWARE.DOC file)
- Enrico M. Ferrari for paying attention to SmartFactal and for his review
- on MC MicroComputer
- And all the others I forgot!
-
- 4.6 Bibliography
-
- The book I wrote about many times in this text is:
- H.O.Peitgen - P.H.Richter,"The Beauty of Fractals, Images of Complex
- Dynamical Systems",1986, Springer Verlang - Berlin, Heidelberg, New York.
- If you have a secondary school preparation and like math you'll be able
- to comprehend the principles explained in this book and even if you don't
- understand mathematics you'll find the Interventions very interesting as
- they are comprehensible by anyone and express interesting philosophical
- considerations; you'll also find an interesting appendix on how to write
- simple programs to generate fractals, if you are a bit more advanced
- there's a section commenting some advanced techs you'll surely find
- interesting (even if some do require too much computational power to adapt
- them for our amigas). If you are Italian (As I am!) you'll also find the
- Italian translation of this book, it's called "La Bellezza dei Frattali"
- and is published by Bollati-Boringhieri, I found it to be a good
- translation not presenting problems with traslation of mathematical therms
- (thanks to the work of Umberto Sampietri).
- If you want to read something more practically-oriented you should try to
- procure old numbers of "Scientific American" (or translations) that
- featured interesting articles about fractals and non-deterministic
- dynamics.
- If, instead, you are more interested in the mathematical aspect you
- should search for a book of B.Mandelbrot that's considered the father of
- the modern theory of fractals. I just mention the most known:
- Benoit.B.Mandelbrot,"The Fractal Geometry of Nature",1982, Freeman,
- San Francisco.
-
-
- I hope you like Smartfractal and find interesting images that meet your
- sense of beauty.
- Simone Avogadro
-
-
-
-
-